home *** CD-ROM | disk | FTP | other *** search
/ Belgian Amiga Club - ADF Collection / BS1 part 60.zip / BS1 part 60 / Kick Pascal v2.10 d2.adf / SYSPROG / KeyCodes.p < prev    next >
Text File  |  1990-11-01  |  2KB  |  73 lines

  1. Program KeyCodes;
  2. Var
  3.  Zeiger: ^Byte;
  4.  LastKey: Byte;
  5.  
  6.  Procedure Decode(i: integer);
  7.    { Bezeichnung der Taste mit dem Code "i" ausgeben }
  8.    Var Zeile1, Zeile2, Zeile3, Zeile4: String[16];
  9.    Begin
  10.      Zeile1:= '~1234567890ß´\';
  11.      Zeile2:= 'QWERTZUIOPÜ+';
  12.      Zeile3:= 'ASDFGHJKLÖÄ#';
  13.      Zeile4:= '<YXCVBNM,.-';
  14.  
  15.      If (i >= $50) and (i <= $59) Then
  16.        write('Funktionstaste ', i-$4f)
  17.      Else
  18.       If (i >= $00) and (i <= $0d) Then
  19.         write(Zeile1[i+1])
  20.       Else
  21.       If (i >= $10) and (i <= $1b) Then
  22.         write(Zeile2[i-$0f])
  23.        Else
  24.        If (i >= $20) and (i <= $2b) Then
  25.         write(Zeile3[i-$1f])
  26.        Else
  27.         If (i >= $30) and (i <= $3a) Then
  28.          write(Zeile4[i-$2f])
  29.         Else
  30.          Case i of
  31.           $40: write('Space');
  32.           $41: write('Backspace');
  33.           $42: write('Tab');
  34.           $43: write('Enter');
  35.           $44: write('Return');
  36.           $45: write('Escape');
  37.           $46: write('Delete');
  38.           $4b: write('- im Ziffernblock');
  39.           $4c: write('Cursor Hoch');
  40.           $4d: write('Cursor Runter');
  41.           $4e: write('Cursor Rechts');
  42.           $4f: write('Cursor Links');
  43.           $5e: write('+ im Ziffernblock');
  44.           $5f: write('Help');
  45.           $60: write('Linkes Shift');
  46.           $61: write('Rechtes Shift');
  47.           $62: write('Caps Lock');
  48.           $63: write('Ctrl');
  49.           $64: write('Linkes Alt');
  50.           $65: write('Rechtes Alt');
  51.           $66: write('C=');
  52.           $67: write('Amiga');
  53.          Otherwise
  54.           write('Unbekannte Taste Nr. ',i);
  55.          End;
  56.    End;
  57.  
  58. Begin
  59.  Zeiger := Ptr($bfec01);
  60.  LastKey := Zeiger^;
  61.  writeln('Beenden mit RETURN');
  62.  writeln;
  63.  Repeat
  64.    While Zeiger^ = LastKey Do ; { auf andere Taste warten }
  65.    LastKey := Zeiger^;
  66.    Decode((LastKey div 2) xor $7f);
  67.    If odd(LastKey) Then
  68.      writeln(' gedrückt.')
  69.    Else
  70.      writeln(' losgelassen.');
  71.  Until LastKey=2*$3b
  72. End.
  73.